package com.ruoyi.course.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 课程安排对象 courseSchedule
 * 
 * @author ruoyi
 * @date 2025-06-12
 */
public class CourseSchedule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 课程表id */
    @Excel(name = "课程表id")
    private Long scheduleId;

    /** 课程id */
    @Excel(name = "课程id")
    private Long lessonId;

    /** 周一到周末 */
    @Excel(name = "周一到周末")
    private String weekDay;

    /** 课程时段 */
    @Excel(name = "课程时段")
    private String timePeriod;

    /** 创建时间 */
    private String creTime;

    /** 修改时间 */
    private String updTime;

    /** 课程安排类型 */
    private String scheduleType;

    /** 具体日期，支持单日期(2025-06-01)或日期范围(2025-06-01~2025-07-21) */
    @Excel(name = "具体日期")
    private String specificDate;

    /** 课程状态 */
    private String status;

    /** 班级id */
    @Excel(name = "班级id")
    private Long claId;

    public void setScheduleId(Long scheduleId)
    {
        this.scheduleId = scheduleId;
    }

    public Long getScheduleId()
    {
        return scheduleId;
    }

    public void setLessonId(Long lessonId) 
    {
        this.lessonId = lessonId;
    }

    public Long getLessonId() 
    {
        return lessonId;
    }

    public void setWeekDay(String weekDay) 
    {
        this.weekDay = weekDay;
    }

    public String getWeekDay() 
    {
        return weekDay;
    }

    public void setTimePeriod(String timePeriod) 
    {
        this.timePeriod = timePeriod;
    }

    public String getTimePeriod() 
    {
        return timePeriod;
    }

    public void setCreTime(String creTime) 
    {
        this.creTime = creTime;
    }

    public String getCreTime() 
    {
        return creTime;
    }

    public void setUpdTime(String updTime) 
    {
        this.updTime = updTime;
    }

    public String getUpdTime() 
    {
        return updTime;
    }

    public void setScheduleType(String scheduleType) 
    {
        this.scheduleType = scheduleType;
    }

    public String getScheduleType() 
    {
        return scheduleType;
    }

    public void setSpecificDate(String specificDate) 
    {
        this.specificDate = specificDate;
    }

    public String getSpecificDate() 
    {
        return specificDate;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setClaId(Long claId) 
    {
        this.claId = claId;
    }

    public Long getClaId() 
    {
        return claId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("scheduleId", getScheduleId())
            .append("lessonId", getLessonId())
            .append("weekDay", getWeekDay())
            .append("timePeriod", getTimePeriod())
            .append("creTime", getCreTime())
            .append("updTime", getUpdTime())
            .append("scheduleType", getScheduleType())
            .append("specificDate", getSpecificDate())
            .append("status", getStatus())
            .append("claId", getClaId())
            .toString();
    }
}
